Computing systems may include a virtual memory system. In a virtual memory system computing device, each process is provided a virtual address space (VAS) that spans the entire address space addressable by the architecture of the processor (e.g., a 32 bit processor has a 4 Gigabyte address space), although not all of that address space may be directly accessible by the process due to other constraints. For example, certain address ranges within the VAS may be reserved for system functions (e.g., kernel space). In some cases, the virtual memory system may not implement the maximum address space supported by the processor (e.g., the virtual memory system may only support 30 address bits, limiting the VAS to 1 Gigabyte).
The address space for each process may be virtual because the computing system may not include enough physical memory for every processes' address space to be loaded into physical memory at the same time. The virtual memory system hides the fact that each processes' address space may not actually be loaded into the physical memory of the computing system by transparently swapping pages of each processes' address space between physical memory and some other storage (e.g., a swap file on disk).